1. Field of the Invention
The present invention relates to non-volatile memory devices.
2. Description of the Related Art
Semiconductor memory devices have become more popular for use in various electronic devices. For example, non-volatile semiconductor memory is used in cellular telephones, digital cameras, personal digital assistants, mobile computing devices, non-mobile computing devices and other devices. Electrical Erasable Programmable Read Only Memory (EEPROM) and flash memory are among the most popular non-volatile semiconductor memories.
Typical EEPROMs and flash memories utilize a memory cell with a floating gate that is provided above a channel region in a semiconductor substrate. The floating gate is separated from the channel region by a dielectric region. For example, the channel region is positioned in a p-well between source and drain regions. A control gate is provided over and separated from the floating gate. The threshold voltage of the memory cell is controlled by the amount of charge that is retained on the floating gate. That is, the level of charge on the floating gate determines the minimum amount of voltage that must be applied to the control gate before the memory cell is turned on to permit conduction between its source and drain.
Some EEPROM and flash memory devices have a floating gate that is used to store two ranges of charges and, therefore, the memory cell can be programmed/erased between two states (e.g., a binary memory cell). A multi-bit or multi-state flash memory cell is implemented by identifying multiple, distinct threshold voltage ranges within a device. Each distinct threshold voltage range corresponds to predetermined values for the set of data bits. To achieve proper data storage for a multi-state cell, the multiple ranges of threshold voltage levels should be separated from each other by sufficient margin so that the level of the memory cell can be read, programmed or erased in an unambiguous manner.
When programming typical prior art or flash memory devices, a program voltage is applied to the control gate and the bit line is grounded. Electrons from the channel are injected into the floating gate. When electrons accumulate in the floating gate, the floating gate becomes negatively charged and the threshold voltage of the memory cell as seen from the control gate is raised.
Typically, the program voltage Vpgm applied to the control gate is applied as a series of pulses. The magnitude of the pulses is increased with each successive pulse by a predetermined step size (e.g., 0.2 V). In the periods between the pulses, verify operations are carried out. That is, the programming level of each memory cell of a group of memory cells being programmed in parallel is read between each programming pulse to determine whether it is equal to or greater than each individual memory cell's targeted verify level to which it is being programmed. The memory cells that are verified to be sufficiently programmed are locked out, for example, by raising the bit line voltage from 0 to Vdd to stop the programming process for those memory cells.
Typical prior art memory cells are erased by raising the p-well to an erase voltage (e.g., 20 V) and grounding the control gate. The source and drain are floating. Electrons are transferred from the floating gate to the p-well region and the threshold voltage is lowered.
One example of a flash memory system uses the NAND structure, which includes arranging multiple floating gate transistors in series between two select gates. The transistors in series and the select gates are referred to as a NAND string. A typical architecture for a flash memory system using a NAND structure will include several NAND strings. For example, FIG. 1 shows three NAND strings 202, 204 and 206 of a memory array having many more NAND strings. Each of the NAND strings of FIG. 1 includes two select transistors and four memory cells. For example, NAND string 202 includes select transistors 220 and 230, and memory cells 222, 224, 226 and 228. NAND string 204 includes select transistors 240 and 250, and memory cells 242, 244, 246 and 248. Each NAND string is connected to the source line by its select transistor (e.g., select transistor 230 and select transistor 250). A selection line SGS is used to control the source side select gates. The various NAND strings are connected to respective bit lines by select transistors 220, 240, etc., which are controlled by select line SGD. In other embodiments, the select lines do not necessarily need to be in common. Word line WL3 is connected to the control gates for memory cell 222 and memory cell 242. Word line WL2 is connected to the control gates for memory cell 224, memory cell 244, and memory cell 252. Word line WL1 is connected to the control gates for memory cell 226 and memory cell 246. Word line WL0 is connected to the control gates for memory cell 228 and memory cell 248. As can be seen, each bit line and the respective NAND string comprise the columns of the array of memory cells. The word lines (WL3, WL2, WL1 and WL0) comprise the rows of the array.
Relevant examples of NAND type flash memories and their operation are provided in the following U.S. patents/patent applications, all of which are incorporated herein by reference in their entirety: U.S. Pat. Nos. 5,570,315; 5,774,397, 6,046,935, 6,456,528 and U.S. patent application. Ser. No. 09/893,277 (now U.S. Pat. No. 6,522,580). Other types of flash memory devices can also be used with the present invention. For example, the following patents describe NOR type flash memories and are incorporated herein by reference in their entirety: U.S. Pat. Nos. 5,095,344; 5,172,338; 5,890,192 and 6,151,248. Another example of a flash memory type is found in U.S. Pat. No. 6,151,248, incorporated herein by reference in its entirety.
One difficulty with non-volatile memory arises from floating gate to floating gate coupling. It has been found that an electric field from adjacent floating gates to the floating gate of a memory cell being read affects the apparent threshold voltage of the memory cell being read. A difficulty is that, after a first memory cell is programmed and verified, adjacent memory cells can be either programmed or erased which changes the effect that the adjacent memory cells have on the first memory cell. When the first memory cell is subsequently read, its apparent threshold voltage may be different than when initially programmed.
Consider, for example, FIG. 1. Assume that memory cell 244 is programmed. Subsequently, memory cell 242 is programmed so that its threshold voltage is changed. If memory cell 244 is read after memory cell 242 was programmed, the electric field from the charge stored on the floating gate of memory cell 242 will cause the threshold voltage of memory cell 244 to appear to be different than it was prior to programming memory cell 242. This effect is due to coupling between adjacent floating gates on neighboring word lines.
Floating gate to floating gate coupling can also exist between adjacent floating gates on neighboring bit lines. For example, assume that memory cell 244 is programmed. Subsequently, memory cell 252 is programmed so that its threshold voltage is changed. If memory cell 244 is read after memory cell 252 is programmed, the electric field from the charge stored on the floating gate of memory cell 252 will cause the threshold voltage of memory cell 244 to appear to be different than it was prior to programming memory 252.